A user on a device will often perform a query search to lookup information on the Web or from some other data sources, such as objects stored locally on that device. A query search begins with a client receiving a query string, which is sent to a search service. The search service receives the query string and searches one or more search indices for results that match this query string. The indices can reference web pages or other objects available across a network, or can include information about objects located locally on the device (e.g., files, media, contacts, and/or other types of objects stored locally on the device). In addition, many queries performed by a user are satisfied with a web history result. For example, queries input in a web browser can be satisfied up to 60% of the time by a result from a web history.
Thus, it can be useful to be able to search a web browser history. Furthermore, it would be useful to search histories of other applications on the device. This is because a user would have a routine in using the device. For a portable device, this routine can include using applications, especially non-web browser applications. For example, smartphone users spend, on average, 86% of the time using non-web browser applications. However, being able to search history of non-web browser applications can be difficult, as data for usage history of applications are difficult to access (if at all) and may be in proprietary formats. Thus, applications histories are difficult to search.